智能驾驶环境感知 | 许智宾:双目视觉与惯导融合的移动机器人定位方法
本文内容来源于《测绘学报》2021年第11期(审图号GS(2021)7714号)
2. 郑州大学地球科学与技术学院, 河南 郑州 450052;
3. 郑州大学水利科学与工程学院, 河南 郑州 450001基金项目:中国工程科技发展战略河南研究院战略咨询研究项目(2020HENZT07)摘要:为了提高移动机器人的定位精度,提出一种双目视觉与惯导融合的视觉SLAM算法。在视觉SLAM前端部分,为了保持直接法计算速度快及特征法精度高的特点,提出一种融合直接法和特征法的半直接法双目视觉里程计。在后端优化阶段,将视觉数据与IMU数据相互融合,在滑动窗口中以非线性优化的方式构建误差函数,优化位姿计算精度。在EuRoc数据集中对本文提出的算法进行试验验证。结果表明,与开源的视觉惯导融合的SLAM系统OKVIS、ROVIO和VINS-Mono相比,本文系统在Machine Hall与Vicon Room两个场景中的定位精度均得到了明显的提升,同时可以保持较高的运行效率。关键词:同时定位与地图构建 视觉惯导融合 双目视觉 特征法 直接法
随着社会的进步和人工智能技术的快速发展,自主智能机器人受到了广泛关注。移动机器人就是自主智能机器人的一种,其应用领域众多,如仓储物流、自动驾驶、服务机器人等。研究移动机器人的同时定位与建图技术对于提高移动机器人的自主化、智能化等具有重要意义[1]。
视觉SLAM使用的视觉传感器主要有单目相机,双目相机和RGB-D相机[2]。单目相机无法独立地从一帧图像中恢复出周围环境的尺度信息[3],RGB-D相机在室外环境中容易受到光照环境的影响[4],而双目相机可以做到通过数学方法得到准确的尺度信息,使其可以克服RGB-D相机在获得尺度信息时容易受到光线的影响,以及单目相机产生的尺度不一致的问题。
视觉里程计是视觉SLAM系统中不可或缺的组成部分[5]。在视觉里程计中,根据其实现方法的不同可以分为基于特征法的视觉里程计和基于直接法的视觉里程计。基于特征法的视觉里程计是在图像中提取特征点并计算描述子,通过描述子实现特征匹配,通过计算最小化重投影误差来估计当前帧的位姿。基于特征法的视觉里程计具有定位精度较高的特点,但是由于需要计算图像帧之间的特征点和描述子,会占用部分计算资源,影响视觉里程计的实时性。如ORB-SLAM2[6]、ProSLAM[7]、OpenVSLAM[8]等都是比较优秀的基于特征法的视觉SLAM系统。基于直接法的视觉里程计仅提取特征点而不计算描述子,通过计算光流得到相邻两个图像帧之间特征点的匹配关系,之后通过计算最小化光度误差估计移动机器人的位姿信息[9]。如LSD-SLAM[10]、DSO[11]、DVO-SLAM[12]、RGBD-SLAM-V2[13]等都是比较优秀的基于直接法的视觉SLAM系统。基于直接法的视觉里程由于不需要计算特征点的描述子,使其运行实时性较好,但是光流法的运动跟踪策略使其定位精度往往不如基于特征法的视觉里程计。
近年来,惯导设备与视觉传感器融合的SLAM系统已经成为一个热门的SLAM技术研究课题[14]。视觉惯导融合[15]的SLAM系统现在有很多优秀的开源方案,如MSCKF[16]、ROVIO[17]、OKVIS[18]、StructVIO[19]、VINS-Mono[20]等。MSCKF是一种基于滤波的视觉惯导融合的视觉SLAM系统,它设计了一种滑动窗口模型,将滑动窗口中被多个图像帧观测到的特征点及其对应的相机位姿作为扩展卡尔曼滤波的更新。但是MSCKF需要一个良好的初始深度值以及初始协方差,否则将会导致位姿估计误差较大。ROVIO也是一种基于扩展卡尔曼滤波的视觉惯导融合的SLAM系统,在运动跟踪阶段使用基于图像块的光流法进行特征跟踪,将IMU数据用于状态传递,将视觉数据用于状态更新。OKVIS是一种基于非线性优化的视觉惯导融合的SLAM系统,它在滑动窗口模型种构建非线性优化函数进行位姿优化,包括了视觉重投影误差和IMU测量误差。OKVIS在前端视觉里程计部分采用基于特征法的视觉里程计,在图像中提取Harris角点[21]并提取BRISK描述子[22]。VINS-Mono是一种视觉惯导融合的视觉SLAM系统,使用光流法进行运动跟踪,使用IMU预积分技术对IMU数据进行预处理,同时使用一种滑动窗口模型将视觉数据与IMU数据进行紧耦合方式的非线性优化[20]。
由于视觉惯导融合的视觉SLAM系统中实现运动跟踪方式的不同,仍然受到特征法视觉里程计与直接法视觉里程计缺点的影响,如特征法计算描述子会影响其实时性,直接法带来的累计误差会影响其定位精度。针对上述问题,本文采用一种融合特征法与直接法的半直接法视觉里程计进行运动跟踪,提高其运行效率,同时采用视觉惯导融合的方式,构建基于滑动窗口的非线性优化的方式,进一步提高位姿估计的精度。
1 方法与原理
本文在基于特征法[23]的视觉SLAM系统和基于直接法的视觉SLAM系统的基础上提出一个融合了特征法与直接法的视觉里程计,并在此基础上融合视觉传感器与惯性测量单元,提出一种视觉惯导融合的视觉SLAM框架。在融合算法中,利用光流法[24]进行运动跟踪得到移动机器人的初始姿态,并将地图点投影到当前帧中,通过构建重投影误差函数估计位姿。同时利用IMU的瞬时高精度测量数据来弥补稳健性较低的视觉数据,以及利用长时间视觉数据的相对稳健性来抑制IMU数据的累计漂移误差。双目视觉与IMU融合的SLAM系统框架如图 1所示。
1.1 融合特征法与直接法的半直接法位姿估计方法
为了克服直接法和特征法自身的缺点,并且保持直接法计算速度快,特征法精度高的特点,提出一种融合直接法和特征法的半直接法双目视觉里程计。融合算法的流程如图 2所示。
融合算法主要包括双目视觉初始化、直接法估计初始位姿、特征法优化位姿3个模块。
由于单目相机无法从一帧图像中恢复出观测到的目标点的尺度,因此单目SLAM系统通常采用三角化的方式,通过连续几帧图像恢复尺度信息,导致视觉里程计在开始工作之前需要有一个初始化的阶段,为之后的位姿估计提供尺度信息。而对于双目相机,可以根据双目相机模型使用单帧图像计算得到图像中观测到的特征点的尺度。使用双目相机进行视觉里程计的实现可以简化初始化的过程,提高运行效率。
在初始化阶段,首先在左目图像中提取特征点,然后使用光流法在右目图像中跟踪左目图像中的特征点,获取左右两幅图像中的匹配点对。
双目相机在标定之后其基线b和焦距f已知。假设对应一组匹配正确的点对,在左目图像中的坐标为UL,在右目图像中的坐标为UR。则根据双目相机模型有
即可求解得到相机坐标系下的三维坐标(X, Y, Z),得到特征点的尺度信息,为双目视觉里程计提供一个良好的初始值。
在视觉里程计通过双目相机获取到最新一帧的图像之后,首先使用光流法跟踪前一个图像中的特征点,得到它们在当前图像中的位置信息,并且使用逆向光流的方法去除误匹配的特征点对,然后根据最小化光度误差来计算初始位姿。
在灰度不变假设的前提下,u1和u'1这两个点的灰度值是相同的,即I(u1)=I(u'1),但是由于相机位姿不够精确,u1和u'1的像素灰度值会有差别,因此可以构建一个优化问题,通过最小化光度误差来计算当前帧的初始位姿
为了简化计算,使在计算增量过程中优化方程的雅克比矩阵保持不变,本文采用逆计算的方法计算光度误差
由于构建的计算最小化光度误差的优化问题是一个非线性方程,因此这里使用高斯-牛顿的方法求解,通过不断迭代的方式,从相机的一个初始位姿开始,不断地计算更新增量来更新位姿的估计值
使用直接法估计初始位姿,在长时间跟踪后容易产生累计误差,此时可以通过跟踪地图点,将当前图像中观察到的地图点投影到当前帧中,通过计算视觉重投影误差的方式来消除累计误差。
将滑动窗口中所有帧观测到的特征点记为地图点,然后将所有地图点根据当前帧的初始位姿投影到当前帧,得到当前帧中特征点与地图点的匹配关系。为了使投影位置更加精确,使重投影误差计算有一个良好的初值,本文通过构建特征点位置与地图点的投影坐标的光度误差函数来优化当前帧中所有投影点的位置
对于最小化光度误差这个优化问题,可以使用迭代高斯-牛顿的方法来求解,最终可以得到更为精确的地图点在当前帧中的投影位置。
IMU传感器通常是由三轴陀螺仪和三轴加速度计组成的,可以测量得到移动机器人运动的角速度和加速度,但是IMU在获取数据时会产生测量偏差和噪声,因此,IMU的数据测量模型可以表示为
得到IMU的运动模型为
由于实际使用的情况下,IMU的数据采集频率要远大于相机采集数据的频率,因此需要在离散的时间下对IMU的数据进行积分处理。这里采用一种中值积分的方法对IMU数据进行积分处理,即对于k帧和k+1帧,二者之间的位姿可以使用两帧之间IMU采集到的所有数据的平均值表示,也就是i时刻与i+1时刻之间的所有IMU数据的平均值
由于每次计算新的图像帧的位姿,都需要对所有IMU数据进行积分处理,因此增加了系统的计算量,会导致SLAM系统的运行效率降低。采用IMU预积分可以通过计算两帧之间p、v、q的增量更新积分值,以降低SLAM系统的计算量。
在连续时间下,IMU预积分的值只与不同时刻的IMU的测量值和IMU偏差有关。根据中值积分的方法,IMU的预积分值在离散时间下的形式为
由于SLAM系统本质上是一个位姿状态估计器,因此一个良好的初始值能够很好地提高系统的定位精度,提高系统的稳健性。本文采用松耦合的方式来设计实现双目视觉与惯导融合的SLAM系统的初始化:首先,仅适用基于纯视觉的SfM和双目相机模型来恢复相机运动并计算图像中观测到的特征点的深度信息;然后,将视觉SfM计算得到图像的旋转、平移以及特征点的尺度信息通过松耦合的方法与IMU数据进行对齐,完成视觉惯导联合初始化,为系统提供良好的视觉位姿初始值和IMU初始值。视觉惯导联合初始化的流程如图 3所示。
使用半直接法估计相机位姿的流程与第2节中介绍的方法相同,得到当前相机位姿之后根据双目相机模型恢复特征点的尺度信息,然后通过松耦合的方式将IMU预积分数据与半直接法计算得到旋转、平移和尺度信息对齐,估计重力、速度及IMU的偏差。
设计一种基于滑动窗口的后端优化方法的目的是为了减少SLAM系统位姿计算的累计误差的同时通过限制处理数据的规模减少计算量,提高SLAM系统的运行效率。
在滑动窗口中仅维持少量的图像帧,同时记录滑动窗口中所有的图像帧的视觉观测数据与图像帧之间IMU的预积分数据。
滑动窗口中主要保存了图像帧之间的IMU数据即滑动窗口中第k帧图像对应的IMU状态包括了速度、旋转、加速度计的偏置及陀螺仪的偏置,相机外参即相机与惯性测量单元之间旋转和平移,以及特征点的逆深度信息。这些都是要在后端优化阶段进行优化的信息。将优化信息表示为
对于优化变量的计算可以使用非线性优化的方法,通过构建滑动窗口中的视觉观测值误差,IMU测量误差以及滑动窗口中的边缘化误差进行优化变量的计算。滑动窗口内误差函数为
由于惯性测量单元与视觉传感器采集数据的频率不同,可以使用流形预积分的方式在离散时间对IMU数据进行预积分,将IMU数据与图像帧中视觉观测数据对齐。所以IMU测量误差可以表示为IMU的实际测量值与IMU预积分的差值
对于视觉观测误差,可以使用计算重投影误差的方式表示。为了使计算方法适用于多种类型的视觉传感器,这里采用一种在球面坐标系下进行误差计算方法
2 试验与分析
为了验证本文提出的双目视觉与惯导融合的视觉SLAM系统方案的可行性和有效性,本文使用EuRoc这一个公共数据集进行相关试验分析。EuRoc数据集使用一种搭载双目视觉传感器和惯性测量单元的六翼飞行器采集数据,同时使用一种Vicon动作捕捉系统实时捕捉飞行器飞行时的位姿,并将其保存为六自由度的位姿数据作为数据集中飞行器飞行的真实轨迹。
EuRoc一共包含了11个图像序列,5个机械厂房图像数据(MH01-MH05), 2个普通房间图像序列(VR1和VR2),每一个数据集官方都给了一个跟踪难度,见表 1。
2.1 基于半直接法的位姿估计方法试验分析
基于半直接法的视觉里程计与基于特征法的ORB-SLAM2在EuRoc数据集[25]上进行测试,计算相对轨迹误差与绝对轨迹误差的均方根误差,验证方法的有效性。其中试验数据集选择MH01、MH03、MH05这3个代表不同跟踪难度的数据集。
两种SLAM系统在MH01、MH02、MH03这3个数据集中相对轨迹误差与绝对轨迹误差的对比结果见表 2、表 3。
由表 2和表 3可以看出,半直接法视觉里程计的定位精度在绝对轨迹误差和相对轨迹误差方面都远不如基于特征法的ORB-SLAM2,为了进一步提高定位精度,本文在半直接法视觉里程计的基础上构建了视觉惯导融合的视觉SLAM系统,其定位精度将在2.2节进行详细分析。
表 4是计算不同的SLAM系统对数据集中每幅图像帧的跟踪时间,反映SLAM系统的运行效率。由表 4中可以看出,基于直接法的DSO在3种跟踪难度的数据集中处理图像帧的时间都是最少的,因此其运行效率是最高的,而视觉惯导融合的视觉SLAM系统的运行效率比半直接法视觉里程计的运行效率略低,是因为视觉惯导融合的视觉SLAM系统中增加了对IMU数据的处理以及回环检测模块,占用了一些计算资源。虽然视觉惯导融合的视觉SLAM系统的运行效率不如基于直接法的DSO,但是相比于基于特征法的ORB-SLAM2系统,其运行效率提升了约50%,具有较好的实时性。
2.2 视觉惯导融合的视觉移动机器人定位系统试验分析
为了验证本文构建的视觉惯导融合的视觉SLAM系统的可行性,使用EuRoc数据集中不同的试验场景对其进行验证,选取数据集中MH01、VR12、MH05这几个代表不同场景不同跟踪难度的图像序列。本文构建的视觉惯导融合的视觉SLAM系统在数据集中运行结果如图 7所示。
图 7 数据集运行结果 Fig. 7 Data set running results |
图选项 |
表 5 绝对轨迹误差 Tab. 5 Absolute track error
数据集 | 本文的视觉惯导融合的SLAM系统 | OKVIS | ROVIO | VINS-Mono | 半直接法视觉里程计 |
MH01 | 0.059 2 | 0.227 4 | 0.206 3 | 0.086 3 | 0.267 1 |
MH02 | 0.073 6 | 0.164 7 | 0.135 5 | 0.094 8 | 0.157 2 |
MH03 | 0.119 3 | 0.285 1 | 0.237 6 | 0.156 2 | 0.176 8 |
MH04 | 0.208 1 | 0.297 5 | 0.261 1 | 0.250 7 | 0.309 3 |
VR11 | 0.090 1 | 0.073 1 | 0.176 2 | 0.120 9 | 0.173 9 |
VR12 | 0.207 4 | 0.247 4 | 0.225 9 | 0.248 4 | 0.321 6 |
VR21 | 0.088 7 | 0.094 8 | 0.101 6 | 0.112 9 | 0.154 2 |
表选项
作者简介第一作者简介:许智宾(1996—), 男, 硕士生, 研究方向为视觉SLAM。E-mail: 18437962773@163.com
通信作者:李宏伟, E-mail: laob_811@sina.com
第一作者简介:许智宾(1996—), 男, 硕士生, 研究方向为视觉SLAM。E-mail: 18437962773@163.com
通信作者:李宏伟, E-mail: laob_811@sina.com初审:张艳玲
终审:金 君
往期推荐
资讯
○ 《测绘通报》2022年广告全面招商
○ 5米光学02星成功发射 自然资源质量生态监测再添利器
○ 荐书 | 《CGCS2000坐标转换》
○ 重大调整!新版学科专业目录,拟新增6个交叉学科一级学科
会议
○ 第七届普适定位、室内导航与基于位置服务(UPINLBS 2022)国际会议(一号通知)
○ 高俊院士、王家耀院士等6位著名科学家获“2020-2021年度中国地理学会科学技术奖——终身成就奖”
○ 关于第24届国际摄影测量与遥感大会预通知
○ 第一届深度学习与地球科学专题研讨会
《测绘学报》
○ 智能驾驶环境感知 | 邸凯昌:深空探测车环境感知与导航定位技术进展与展望
○ 智能驾驶环境感知 | 陈龙: 多智能体协同高精地图构建关键技术研究
○ 智能驾驶环境感知 | 李德仁:测绘遥感能为智能驾驶做什么?
○ 智能驾驶环境感知 | 邵晓航:语素关联约束的动态环境视觉定位优化
《测绘通报》
《北京测绘》
○《北京测绘》2021年第9期摘要推荐
《测绘科学技术学报》
《地球信息科学学报》
《测绘工程》
○ 测绘教学 | 后疫情时代“线上+线下”混合教学模式创新——以测绘类课程视角
《中国空间科学技术》
《卫星应用》
○ 摘要 |《卫星应用》2021年第9期摘要推荐
○ 摘要 |《卫星应用》2021年第8期摘要推荐
○ 摘要 |《卫星应用》2021年第7期摘要推荐
《Journal of Geodesy and Geoinformation Science》
○《测绘学报(英文版)》(JGGS)第一次编委会会议顺利召开
○Special Issue on New LiDAR Technologies and Techniques
○ Stefano TEBALDINI et al. |《测绘学报(英文版)》(JGGS)精选论文
○《测绘学报(英文版)》专刊征稿 | 地图学与地球空间信息教育:理论与实践
《Satellite Navigation》
○ [综述]| 高扬教授:GNSS智能手机定位:进展、挑战、机遇和未来展望| SANA佳文速递
○ 熊超教授:地磁暴期间夜间低纬电离层和赤道等离子体不规则体| SANA佳文速递
○ 徐元博士:面向有色测量噪声下UWB/INS组合行人导航的分布式卡尔曼滤波| SANA佳文速递
○ 杨飞博士:GNSS天顶对流层精化模型的构建与分析| SANA佳文速递
○ 牛小骥教授:用半解析法分析GNSS/INS在铁路轨道测量中的相对精度| SANA佳文速递
《自然资源遥感》
○ 《自然资源遥感》征稿:“海岸带空间资源及生态健康遥感监测”专栏
《Journal of Geovisualization and Spatial Analysis》
○《Journal of Geovisualization and Spatial Analysis》入驻“智绘科服”融媒体平台!